#ifndef CORE_H
#define CORE_H

#include "singleton.h"
#include <stdio.h>
#include <Windows.h>
#include "Engine_def.h"

#include "Base.h"

//#include "graphics.h"
class CLanguageManager;
class CGraphicsManager;
class CInputManager;
class CFontManager;

class CCore: public CSingleton<CCore>
{
public: 
	CCore(); 
	~CCore();
	void Init(HWND, const SEngineParams& params);
	void Deinit();
	void Update();
	void Render();
	CGraphicsManager*	GetGraphicsManager	(){return m_GraphicsManager; }
	CLanguageManager*	GetLanguageManager	(){return m_LanguageManager;}
	CFontManager*		GetFontManager		(){return m_FontManager;}	
	CInputManager*		GetInputManager		(){return m_InputManager;}

private:
	CGraphicsManager*	m_GraphicsManager;
	CLanguageManager*	m_LanguageManager;
	CFontManager*		m_FontManager;
	CInputManager*		m_InputManager;
};


#endif 